package com.didispace.domain;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;


/**
 * @author 程序猿DD
 * @version 1.0.0
 * @date 16/3/23 下午2:34.
 * @blog http://blog.didispace.com
 */
public interface UserRepository extends JpaRepository<User, Long> {

    /*
    getByName && findByName 可以同时存在, 并且可以指定他们返回值为List或者T.
    连getByName都可以返回List<User>
     */
    /*
    listByName不能自动反射到SQL上, 需要用@Query指定才行. 
    能自动反射到查询上的只有get和find
     */
    User findByName(String name);

    List<User> getByName(String name);

//    List<User> findByName(String name);

//    /*@Query("from User u where u.name=:name")*/
//    List<User> listByName(@Param("name") String name);

    User findByNameAndAge(String name, Integer age);

    @Query("from User u where u.name=:name")
    User findUser(@Param("name") String name);


}
